<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>计算机组成原理 | Hexo</title>
  <meta name="keywords" content="">
  <meta name="description" content="计算机组成原理 | Hexo">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="description" content="第二章 线性表线性表：表内数据类型相同，有限序列 本章将以总结的形式展现： 2.1 顺序表与链式表的区别     顺序表 链式表     存取 随机存取 顺序存取   结构 顺序存储（连续） 随机存储（不连续）   空间分配 静态存储（可以动态分配） 动态存储   操作 查找 O(1) ,插入和删除O（n） 查找 O(n) ,插入和删除O（1）   缺点 插入删除不便，长度不可以改变 查找速度慢，">
<meta property="og:type" content="article">
<meta property="og:title" content="数据结构">
<meta property="og:url" content="http://yoursite.com/2021/03/12/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/index.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:description" content="第二章 线性表线性表：表内数据类型相同，有限序列 本章将以总结的形式展现： 2.1 顺序表与链式表的区别     顺序表 链式表     存取 随机存取 顺序存取   结构 顺序存储（连续） 随机存储（不连续）   空间分配 静态存储（可以动态分配） 动态存储   操作 查找 O(1) ,插入和删除O（n） 查找 O(n) ,插入和删除O（1）   缺点 插入删除不便，长度不可以改变 查找速度慢，">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/23/171951-630686.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/23/171844-136893.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/19/203103-111988.jpeg">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/23/171839-101678.jpeg">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/23/200119-510473.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202103/05/113954-515448.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/23/203146-263519.jpeg">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/19/153239-688589.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/19/153248-836462.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/19/153259-101399.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202103/11/113055-306258.jpeg">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/19/151817-474283.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/02/103950-168345.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/02/105245-140913.png">
<meta property="og:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/19/153313-134836.png">
<meta property="article:published_time" content="2021-03-11T16:00:00.000Z">
<meta property="article:modified_time" content="2021-03-11T07:19:09.038Z">
<meta property="article:author" content="MOLU">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://gitee.com/moluggg/image/raw/master/img/202102/23/171951-630686.png">


<link rel="icon" href="/img/avatar.jpg">

<link href="/css/style.css?v=1.1.0" rel="stylesheet">

<link href="/css/hl_theme/github.css?v=1.1.0" rel="stylesheet">

<link href="//cdn.jsdelivr.net/npm/animate.css@4.1.0/animate.min.css" rel="stylesheet">

<script src="//cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
<script src="/js/titleTip.js?v=1.1.0" ></script>

<script src="//cdn.jsdelivr.net/npm/highlightjs@9.16.2/highlight.pack.min.js"></script>
<script>
    hljs.initHighlightingOnLoad();
</script>

<script src="//cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.js"></script>



<script src="//cdn.jsdelivr.net/npm/jquery.cookie@1.4.1/jquery.cookie.min.js" ></script>

<script src="/js/iconfont.js?v=1.1.0" ></script>

<meta name="generator" content="Hexo 5.0.0"></head>
<div style="display: none">
  <input class="theme_disqus_on" value="false">
  <input class="theme_preload_comment" value="">
  <input class="theme_blog_path" value="">
  <input id="theme_shortcut" value="true" />
</div>


<body>
<aside class="nav">
    <div class="nav-left">
        <a href="/" class="avatar_target">
    <img class="avatar" src="/img/avatar.jpg" />
</a>
<div class="author">
    <span>MOLU</span>
</div>

<div class="icon">
    
        
        <a title="rss" href="/atom.xml" target="_blank">
            
                <i class="iconfont icon-rss"></i>
            
        </a>
        
    
        
        <a title="github" href="https://github.com/molu-ggg" target="_blank">
            
                <i class="iconfont icon-github"></i>
            
        </a>
        
    
        
    
        
    
        
        <a title="email" href="mailto:2572876783@qq.com" target="_blank">
            
                <i class="iconfont icon-email"></i>
            
        </a>
        
    
</div>




<ul>
    <li><div class="all active" data-rel="All">All<small>(35)</small></div></li>
    
        
            
            <li><div data-rel="AI论文">AI论文<small>(5)</small></div>
                
            </li>
            
        
    
        
            
            <li><div data-rel="专业知识">专业知识<small>(2)</small></div>
                
            </li>
            
        
    
        
            
            <li><div data-rel="数学">数学<small>(2)</small></div>
                
            </li>
            
        
    
        
            
            <li><div data-rel="机器学习">机器学习<small>(12)</small></div>
                
            </li>
            
        
    
        
            
            <li><div data-rel="经典算法">经典算法<small>(10)</small></div>
                
            </li>
            
        
    
</ul>
<div class="left-bottom">
    <div class="menus">
    
    
    
    
    </div>
    <div><a class="about  hasFriend  site_url"  href="/about">About</a><a style="width: 50%"  class="friends">Friends</a></div>
</div>
<input type="hidden" id="yelog_site_posts_number" value="35">

<div style="display: none">
    <span id="busuanzi_value_site_uv"></span>
    <span id="busuanzi_value_site_pv"></span>
</div>

    </div>
    <div class="nav-right">
        <div class="friends-area">
    <div class="friends-title">
        Links
        <i class="iconfont icon-left"></i>
    </div>
    <div class="friends-content">
        <ul>
            
            <li><a target="_blank" href="http://yelog.org/">叶落阁</a></li>
            
        </ul>
    </div>
</div>
        <div class="title-list">
    <div class="right-top">
        <div id="default-panel">
            <i class="iconfont icon-search" data-title="搜索 快捷键 i"></i>
            <div class="right-title">All</div>
            <i class="iconfont icon-file-tree" data-title="切换到大纲视图 快捷键 w"></i>
        </div>
        <div id="search-panel">
            <i class="iconfont icon-left" data-title="返回"></i>
            <input id="local-search-input" />
            <label class="border-line" for="input"></label>
            <i class="iconfont icon-case-sensitive" data-title="大小写敏感"></i>
            <i class="iconfont icon-tag" data-title="标签"></i>
        </div>
        <div id="outline-panel" style="display: none">
            <div class="right-title">大纲</div>
            <i class="iconfont icon-list" data-title="切换到文章列表"></i>
        </div>
    </div>

    <div class="tags-list">
    <input id="tag-search" />
    <div class="tag-wrapper">
        
            <li class="article-tag-list-item">
                <i class="iconfont icon-tag"></i><a>50</a>
            </li>
        
            <li class="article-tag-list-item">
                <i class="iconfont icon-tag"></i><a>AI</a>
            </li>
        
            <li class="article-tag-list-item">
                <i class="iconfont icon-tag"></i><a>数据结构，最短路径，图</a>
            </li>
        
            <li class="article-tag-list-item">
                <i class="iconfont icon-tag"></i><a>机器学习</a>
            </li>
        
            <li class="article-tag-list-item">
                <i class="iconfont icon-tag"></i><a>相似度计算</a>
            </li>
        
    </div>

</div>

    
    <div id="local-search-result">

    </div>
    
    <nav id="title-list-nav">
        
        <a id="top" class="All 经典算法 "
           href="/2020/07/20/b_leetcode/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="leetcode &amp; 蓝桥">leetcode &amp; 蓝桥</span>
            <span class="post-date" title="2020-07-20 00:00:00">2020/07/20</span>
        </a>
        
        <a id="top" class="All AI论文 "
           href="/2020/07/10/d_GAT/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="GAT">GAT</span>
            <span class="post-date" title="2020-07-10 08:50:20">2020/07/10</span>
        </a>
        
        <a  class="All 专业知识 "
           href="/2021/03/12/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="计算机组成原理">计算机组成原理</span>
            <span class="post-date" title="2021-03-12 00:00:00">2021/03/12</span>
        </a>
        
        <a  class="All 专业知识 "
           href="/2021/03/12/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="数据结构">数据结构</span>
            <span class="post-date" title="2021-03-12 00:00:00">2021/03/12</span>
        </a>
        
        <a  class="All 经典算法 "
           href="/2020/12/05/b_%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E4%B8%8E%E8%AE%B0%E5%BF%86%E5%8C%96%E6%90%9C%E7%B4%A2/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="动态规划记忆化">动态规划记忆化</span>
            <span class="post-date" title="2020-12-05 00:00:00">2020/12/05</span>
        </a>
        
        <a  class="All AI论文 "
           href="/2020/07/25/d_300-paperDAT/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="DAT for recommender">DAT for recommender</span>
            <span class="post-date" title="2020-07-25 08:50:20">2020/07/25</span>
        </a>
        
        <a  class="All 数学 "
           href="/2020/07/20/a_%E7%AE%97%E6%B3%95/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="算法总结">算法总结</span>
            <span class="post-date" title="2020-07-20 00:00:00">2020/07/20</span>
        </a>
        
        <a  class="All 数学 "
           href="/2020/07/20/a_%E6%95%B0%E5%AD%A6/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="数学">数学</span>
            <span class="post-date" title="2020-07-20 00:00:00">2020/07/20</span>
        </a>
        
        <a  class="All "
           href="/2020/07/05/%E5%AF%B9%E9%9A%90%E7%A7%98%E7%9A%84%E8%A7%92%E8%90%BD%E7%94%B5%E8%A7%86%E5%89%A7%E7%9A%84%E6%84%9F%E6%82%9F%E4%BB%A5%E5%8F%8A%E8%AE%A4%E8%AF%86/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="对隐秘的角落电视剧的感悟以及认识">对隐秘的角落电视剧的感悟以及认识</span>
            <span class="post-date" title="2020-07-05 00:00:00">2020/07/05</span>
        </a>
        
        <a  class="All 经典算法 "
           href="/2020/07/04/a_%E6%A8%A1%E6%9D%BF%E5%BA%93/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="模板库">模板库</span>
            <span class="post-date" title="2020-07-04 08:50:20">2020/07/04</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2020/07/04/a_%E7%99%BE%E5%BA%A6%E6%8A%80%E6%9C%AF%E8%AE%A4%E8%AF%81/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="百度技术认证">百度技术认证</span>
            <span class="post-date" title="2020-07-04 08:50:20">2020/07/04</span>
        </a>
        
        <a  class="All AI论文 "
           href="/2020/07/01/d_GCN%E8%AE%BA%E6%96%87%E8%A7%A3%E8%AF%BB/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="GCN">GCN</span>
            <span class="post-date" title="2020-07-01 08:50:20">2020/07/01</span>
        </a>
        
        <a  class="All AI论文 "
           href="/2020/06/04/d_word2vec_node2vec/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="Word2vec &amp; Node2vec">Word2vec &amp; Node2vec</span>
            <span class="post-date" title="2020-06-04 08:50:20">2020/06/04</span>
        </a>
        
        <a  class="All AI论文 "
           href="/2020/05/05/d_GAN/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="GAN">GAN</span>
            <span class="post-date" title="2020-05-05 08:50:20">2020/05/05</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2020/05/04/d_Deepwalk/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="DEEPWALK">DEEPWALK</span>
            <span class="post-date" title="2020-05-04 08:50:20">2020/05/04</span>
        </a>
        
        <a  class="All 经典算法 "
           href="/2020/02/15/b_%E8%B4%AA%E5%BF%83/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="贪心与动态规划">贪心与动态规划</span>
            <span class="post-date" title="2020-02-15 00:00:00">2020/02/15</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2020/02/12/a_2020/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="机器学习零散知识记录">机器学习零散知识记录</span>
            <span class="post-date" title="2020-02-12 00:00:00">2020/02/12</span>
        </a>
        
        <a  class="All 经典算法 "
           href="/2020/02/12/b_%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="动态规划——背包问题">动态规划——背包问题</span>
            <span class="post-date" title="2020-02-12 00:00:00">2020/02/12</span>
        </a>
        
        <a  class="All 经典算法 "
           href="/2020/02/03/b_%E8%93%9D%E6%A1%A5%E6%9D%AF%E7%BB%83%E4%B9%A0%E9%A2%98/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="蓝桥杯">蓝桥杯</span>
            <span class="post-date" title="2020-02-03 00:00:00">2020/02/03</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2020/01/20/c_%E5%86%B3%E7%AD%96%E6%A0%91/"
           data-tag="50"
           data-author="" >
            <span class="post-title" title="决策树总结">决策树总结</span>
            <span class="post-date" title="2020-01-20 00:00:00">2020/01/20</span>
        </a>
        
        <a  class="All 经典算法 "
           href="/2020/01/12/b_%E5%85%A8%E6%8E%92%E5%88%97/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="全排列">全排列</span>
            <span class="post-date" title="2020-01-12 00:00:00">2020/01/12</span>
        </a>
        
        <a  class="All 经典算法 "
           href="/2019/12/02/b_%E6%9C%89%E7%A9%B7%E8%87%AA%E5%8A%A8%E6%9C%BA/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="有穷自动机">有穷自动机</span>
            <span class="post-date" title="2019-12-02 00:00:00">2019/12/02</span>
        </a>
        
        <a  class="All 经典算法 "
           href="/2019/11/20/b_%E9%94%99%E6%8E%92%E5%85%AC%E5%BC%8F/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="错排公式">错排公式</span>
            <span class="post-date" title="2019-11-20 00:00:00">2019/11/20</span>
        </a>
        
        <a  class="All "
           href="/2019/10/29/a_%E5%BC%97%E6%B4%9B%E4%BC%8A%E5%BE%B7/"
           data-tag="数据结构，最短路径，图"
           data-author="" >
            <span class="post-title" title="最短路径之弗洛伊德算法">最短路径之弗洛伊德算法</span>
            <span class="post-date" title="2019-10-29 00:00:00">2019/10/29</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2019/08/04/c_BPR/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="贝叶斯">贝叶斯</span>
            <span class="post-date" title="2019-08-04 08:50:20">2019/08/04</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2019/08/02/c_matrix/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="矩阵分解与正则化">矩阵分解与正则化</span>
            <span class="post-date" title="2019-08-02 08:25:59">2019/08/02</span>
        </a>
        
        <a  class="All "
           href="/2019/07/28/c_coordination1/"
           data-tag="AI,机器学习,相似度计算"
           data-author="" >
            <span class="post-title" title="协同过滤-上">协同过滤-上</span>
            <span class="post-date" title="2019-07-28 08:25:59">2019/07/28</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2019/07/26/c_cnn/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="cnn">cnn</span>
            <span class="post-date" title="2019-07-26 18:54:51">2019/07/26</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2019/07/22/c_coordination2/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="协同过滤—下">协同过滤—下</span>
            <span class="post-date" title="2019-07-22 18:54:26">2019/07/22</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2019/07/22/c_kmeans/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="K-means算法">K-means算法</span>
            <span class="post-date" title="2019-07-22 18:53:07">2019/07/22</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2019/07/21/c_nerve2/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="神经网络-下">神经网络-下</span>
            <span class="post-date" title="2019-07-21 11:37:18">2019/07/21</span>
        </a>
        
        <a  class="All "
           href="/2019/07/20/c_nerve1/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="神经网络—上">神经网络—上</span>
            <span class="post-date" title="2019-07-20 17:29:10">2019/07/20</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2019/06/22/c_gradient/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="线性回归与梯度下降算法">线性回归与梯度下降算法</span>
            <span class="post-date" title="2019-06-22 08:26:36">2019/06/22</span>
        </a>
        
        <a  class="All 机器学习 "
           href="/2019/06/19/c_flyback/"
           data-tag="AI,机器学习"
           data-author="" >
            <span class="post-title" title="线性回归">线性回归</span>
            <span class="post-date" title="2019-06-19 00:00:00">2019/06/19</span>
        </a>
        
        <a  class="All 经典算法 "
           href="/2019/05/20/b_%E8%A7%86%E9%A2%91%E7%BB%8F%E5%85%B8%E7%AE%97%E6%B3%95/"
           data-tag=""
           data-author="" >
            <span class="post-title" title="简单入门算法">简单入门算法</span>
            <span class="post-date" title="2019-05-20 00:00:00">2019/05/20</span>
        </a>
        
        <div id="no-item-tips">

        </div>
    </nav>
    <div id="outline-list">
    </div>
</div>
    </div>
    <div class="hide-list">
        <div class="semicircle" data-title="切换全屏 快捷键 s">
            <div class="brackets first"><</div>
            <div class="brackets">&gt;</div>
        </div>
    </div>
</aside>
<div id="post">
    <div class="pjax">
        <article id="post-计算机组成原理" class="article article-type-post" itemscope itemprop="blogPost">
    
        <h1 class="article-title">计算机组成原理</h1>
    
    <div class="article-meta">
        
        
        
        <span class="book">
            <i class="iconfont icon-category"></i>
            
            
            <a  data-rel="专业知识">专业知识</a>
            
        </span>
        
        
    </div>
    <div class="article-meta">
        
            Created At : <time class="date" title='Updated At: 2021-03-11 15:19:02'>2021-03-12 00:00</time>
        
    </div>
    <div class="article-meta">
        
        
        <span id="busuanzi_container_page_pv">
            Views 👀 :<span id="busuanzi_value_page_pv">
                <span class="count-comment">
                    <span class="spinner">
                      <div class="cube1"></div>
                      <div class="cube2"></div>
                    </span>
                </span>
            </span>
        </span>
        
        
    </div>
    
    <div class="toc-ref">
    
        <ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#%E7%AC%AC"><span class="toc-text">第</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E5%B0%8F%E7%9F%A5%E8%AF%86"><span class="toc-text">小知识</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E7%AC%AC%E5%9B%9B%E7%AB%A0-%E5%AD%98%E5%82%A8%E5%99%A8"><span class="toc-text">第四章 存储器</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#4-1-%E7%A7%8D%E7%B1%BB%E4%BB%A5%E5%8F%8A%E5%90%84%E9%83%A8%E5%88%86%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%9A"><span class="toc-text">4.1 种类以及各部分的功能：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#4-2-%E4%B8%BB%E5%AD%98"><span class="toc-text">4.2 主存</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#4-2-1%E4%B8%BB%E5%AD%98%E4%BD%9C%E7%94%A8%EF%BC%9A"><span class="toc-text">4.2.1主存作用：</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4-2-2%E6%8C%87%E6%A0%87%EF%BC%9A"><span class="toc-text">4.2.2指标：</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4-2-3-SRAM%E4%B8%8EDRAM"><span class="toc-text">4.2.3 SRAM与DRAM</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4-2-4-%E5%AD%98%E5%82%A8%E5%99%A8%E7%9A%84%E6%8B%93%E5%B1%95"><span class="toc-text">4.2.4 存储器的拓展</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4-2-5-%E5%B9%B6%E8%A1%8C%E4%B8%BB%E5%AD%98%E5%AD%98%E5%82%A8%E7%B3%BB%E7%BB%9F"><span class="toc-text">4.2.5 并行主存存储系统</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#4-3-Cache%E4%B8%8E%E4%B8%BB%E5%AD%98"><span class="toc-text">4.3 Cache与主存</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#4-3-1-Cache"><span class="toc-text">4.3.1 Cache</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4-3-2-Cache-%E5%9C%B0%E5%9D%80%E6%98%A0%E5%B0%84%E4%BB%A5%E5%8F%8A%E5%8F%98%E6%8D%A2"><span class="toc-text">4.3.2 Cache 地址映射以及变换</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4-3-3-%E6%9B%BF%E6%8D%A2%E7%AE%97%E6%B3%95"><span class="toc-text">4.3.3 替换算法</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#4-3-4-Cahce-%E5%86%99%E7%AD%96%E7%95%A5"><span class="toc-text">4.3.4 Cahce 写策略</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#4-4-%E4%B8%8ECPU%E7%9A%84%E8%BF%9E%E6%8E%A5%EF%BC%9A"><span class="toc-text">4.4 与CPU的连接：</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#4-5-%E8%99%9A%E6%8B%9F%E5%AD%98%E5%82%A8%E5%99%A8"><span class="toc-text">4.5 虚拟存储器</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#4-6-cache-%E4%B8%BB%E5%AD%98%E4%B8%8E%E8%BE%85%E5%AD%98%E7%9A%84%E5%B7%A5%E4%BD%9C%EF%BC%9A"><span class="toc-text">4.6 cache&#x2F;主存与辅存的工作：</span></a></li></ol></li></ol>
    
<style>
    .left-col .switch-btn,
    .left-col .switch-area {
        display: none;
    }
    .toc-level-4 i,
    .toc-level-4 ol {
        display: none !important;
    }
</style>
</div>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h1 id="第"><a href="#第" class="headerlink" title="第"></a>第</h1><h1 id="小知识"><a href="#小知识" class="headerlink" title="小知识"></a>小知识</h1><p>1.:100:什么是主机？</p>
<p>主机主要包括CPU，高速缓存存储器和主存三部分</p>
<p>2.为什么我们总是谈论地址，而忽略了数据的存在？</p>
<p>可以参考4.2.2 的图片，实际上 CPU 指令给出了该数据的地址，只要找到地址将该地址的数据通过数据线传到CPU即可。因此，我们只要研究如何找到该地址即可。</p>
<h1 id="第四章-存储器"><a href="#第四章-存储器" class="headerlink" title="第四章 存储器"></a>第四章 存储器</h1><h2 id="4-1-种类以及各部分的功能："><a href="#4-1-种类以及各部分的功能：" class="headerlink" title="4.1 种类以及各部分的功能："></a>4.1 种类以及各部分的功能：</h2><p>按照存储介质的划分：</p>
<p>磁性材料存储器，半导体存储器，光存储器</p>
<p>按照存储器功能与速度分类：</p>
<p>寄存器存储器:</p>
<p>功能：主要用来存储地址，数据运算的中间结果，</p>
<p>速度可以与CPU匹配。</p>
<p>高速缓冲存储器。</p>
<p>主要用来解决CPU与主存之间速度不匹配的问题。</p>
<p>速度比主存快，比CPU慢。</p>
<p>主存：</p>
<p>用于存储程序和数据，CPU可以直接随机读写访问。</p>
<p>外存储器：</p>
<p>不可以与CPU直接进行信息交换。</p>
<p>外存储器的信息，需要被用到的时候，先要将它调入主存，主存调入高速缓冲后为CPU所利用。</p>
<h2 id="4-2-主存"><a href="#4-2-主存" class="headerlink" title="4.2 主存"></a>4.2 主存</h2><h3 id="4-2-1主存作用："><a href="#4-2-1主存作用：" class="headerlink" title="4.2.1主存作用："></a>4.2.1主存作用：</h3><p>为了能够容纳系统的核心软件和较多用户程序及数据。</p>
<p>辅存作用：缓解主存容量不足的矛盾</p>
<h3 id="4-2-2指标："><a href="#4-2-2指标：" class="headerlink" title="4.2.2指标："></a>4.2.2指标：</h3><p>存储器容量：存储单元大小 * 存储单元的个数（以8位二进制作为一个存储单元，也就是一个字节。）</p>
<p>存取速度：存储周期连续两次访问操作之间到最短时间间隔。包括存取时间和恢复时间。</p>
<p>存储器宽带：单位时间内存储器所能传输的信息量。单位有位每秒和字节每秒。</p>
<p>存储字长与数据字长的区别。字长是一个存储资源所能存储的二进制的位数。数据自嘲是计算机一次能够处理的二进制的位数。</p>
<p><img src="E:\typora图片\191607-930683.png" alt="image-20210221191605724"></p>
<p>数据字长：D0~D7决定</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/24/104427-890311.png" alt="image-20210221204916153"></p>
<p>边界对其方式带来的影响：</p>
<p>并且对其主要是在性能和存储空间之间的衡量。</p>
<h3 id="4-2-3-SRAM与DRAM"><a href="#4-2-3-SRAM与DRAM" class="headerlink" title="4.2.3 SRAM与DRAM"></a>4.2.3 SRAM与DRAM</h3><p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/24/114109-978748.png" alt="image-20210221193145688"></p>
<div class="table-container">
<table>
<thead>
<tr>
<th></th>
<th>SRAM</th>
<th>DRAM</th>
</tr>
</thead>
<tbody>
<tr>
<td>存储信息</td>
<td>触发器</td>
<td>电容</td>
</tr>
<tr>
<td>破坏性读出</td>
<td>X</td>
<td>v</td>
</tr>
<tr>
<td>刷新</td>
<td>X</td>
<td>v</td>
</tr>
<tr>
<td>图示</td>
<td><img src="https://gitee.com/moluggg/image/raw/master/img/202102/24/113349-134135.png" alt="644A444587BFA2545FC8CF260E6497AB"></td>
<td><img src="https://gitee.com/moluggg/image/raw/master/img/202102/24/113539-59254.png" alt="img"></td>
</tr>
<tr>
<td></td>
<td>T1,T2是工作管，T3和T4是负载管；进行写操作，D 为1 ，$-D$为 0 ，D-A-T2导通，-D-B-T1截止存储这种双稳态的1 ；只要不断电状态就一直保持不变</td>
<td>为了提高集成度，去电负载管，电容C1,C2存储电容信息，写操作与左边类似，只不过D为1时，T2导通，C1充电至最高电位（:100: 为什么）</td>
</tr>
<tr>
<td>送行列地址songhanglied</td>
<td>同时送</td>
<td>分两次送</td>
</tr>
<tr>
<td>集成度与速度，成本</td>
<td>低，高，高</td>
<td>高，比较慢，低</td>
</tr>
<tr>
<td>发热量</td>
<td>大</td>
<td>小</td>
</tr>
</tbody>
</table>
</div>
<p>刷新的一些问题：</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/21/204912-606083.png" alt="image-20210221200037502"></p>
<h3 id="4-2-4-存储器的拓展"><a href="#4-2-4-存储器的拓展" class="headerlink" title="4.2.4 存储器的拓展"></a>4.2.4 存储器的拓展</h3><p>仍然看这个图：</p>
<p><img src="E:\typora图片\104427-890311.png" alt="image-20210221204916153"></p>
<p>假设CPU只有16根 地址线，那么字拓展的极限是16位</p>
<p>字拓展实际也叫容量拓展，地址线有16位 则经过译码器可以有$2^{16}$ 种编码方式 ，如图，16K存储芯片，每片有 14根地址线 ，16-14 = 2 ，则还剩两根 ，最多有 $2^2$组这样的芯片参与字拓展</p>
<p>CPU只有8根 地址线，那么位拓展的极限是8位</p>
<p>若 存储器的数据位 只有两位，则最多可以有 4个相同的存储器参与 位拓展</p>
<h3 id="4-2-5-并行主存存储系统"><a href="#4-2-5-并行主存存储系统" class="headerlink" title="4.2.5 并行主存存储系统"></a>4.2.5 并行主存存储系统</h3><p>① 双端口存储器：</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/24/120714-21860.png" alt="img"></p>
<p>当做有两个端口 访问相同的地址时候，读写会发生冲突，否则不会的。</p>
<p>冲突处理办法： 如图最后一行 Busy 标志 ， 发生冲突时候，由判断逻辑决定 谁优先，并把另一个置为0 </p>
<p>② 单体多字存储器</p>
<p>③ 多体交叉存储器 （高位与低位），常用低位</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/24/121350-971572.png" alt="img"></p>
<p>高位交叉：相邻的地址存在同一个存储体内，不同存储体地址不相邻</p>
<p>低位交叉：相邻的地址存在不同的存储体内，同一个存储体的地址不相邻</p>
<p>时间计算</p>
<p>高位：5T </p>
<p>低位： T+（n-1) t</p>
<p>:100: T 与 t有关系吧？</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/24/121731-920827.png" alt="img"></p>
<h2 id="4-3-Cache与主存"><a href="#4-3-Cache与主存" class="headerlink" title="4.3 Cache与主存"></a>4.3 Cache与主存</h2><h3 id="4-3-1-Cache"><a href="#4-3-1-Cache" class="headerlink" title="4.3.1 Cache"></a>4.3.1 Cache</h3><p>Cache 的设计主要是基于程序 访问的局部性（时间局部性 与 空间局部性）</p>
<p>Cache的工作原理： </p>
<p>​      将Cache 与 主存都分成若干个大小相同的块，每块又包含若干个字，在同一块里有都有一个相同的块地址，同一块不同字区别在块内偏移地址</p>
<h3 id="4-3-2-Cache-地址映射以及变换"><a href="#4-3-2-Cache-地址映射以及变换" class="headerlink" title="4.3.2 Cache 地址映射以及变换"></a>4.3.2 Cache 地址映射以及变换</h3><p>主存块地址：</p>
<p>块内偏移地址：</p>
<p>块可以表示成这样：</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/24/191035-660271.png" alt="img"></p>
<p>映射的是地址，移动的是存储单元里的数据，地址是虚的，数据是实的。</p>
<p><strong>全相联映射：</strong></p>
<p>主存中任意一个块都可以映射到Cache中任意一个块的方式，</p>
<p>Cache利用率高 ，标记位较长，使用成本太高。</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/25/115051-754017.png" alt="image-20210225115049672"></p>
<p>cache实际容量大小是 数据副本缓冲区那一部分，这部分存<strong>真数据</strong>，Tag是用来存放<strong>真地址</strong>。</p>
<p><img src="E:\typora图片\image-20210225115006480.png" alt="image-20210225115006480"></p>
<p><strong>直接映射：</strong></p>
<p>主存的一个字块只能映像到Cache的一个准确确定的字块中</p>
<p>将区号再一步划分成：区号 和 索引（区内块号）</p>
<p>后者的大小主要是由 Cache行数确定，功能是：映射到特定的Cache行 ，加快查找效率</p>
<p>特点：Cache利用率低，冲突率高，但是淘汰算法简单，适合大容量Cache</p>
<p><img src="E:\typora图片\image-20210225120908771.png" alt="image-20210225120908771"></p>
<p><strong>组相连映射：</strong></p>
<p>是对全相联和直接映像的一种折中的处理方案</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/25/121551-486538.png" alt="image-20210225121451522"></p>
<p><img src="E:\typora图片\6657F6EAB0E9B0C23613122B1D0DB91C.png" alt="img"></p>
<h3 id="4-3-3-替换算法"><a href="#4-3-3-替换算法" class="headerlink" title="4.3.3 替换算法"></a>4.3.3 替换算法</h3><div class="table-container">
<table>
<thead>
<tr>
<th></th>
<th>FIFO</th>
<th>LRU</th>
<th>LFU</th>
</tr>
</thead>
<tbody>
<tr>
<td>思想</td>
<td>先进先出</td>
<td>近期最少使用</td>
<td>最不经常使用的</td>
</tr>
<tr>
<td>实现做法：</td>
<td></td>
<td>每行设置一个计数器，Cache每命中一次，命中行计数器清零，其他各行计数器增加1</td>
<td>每行设置一个计数器，新调入行的数据从0开始计数，每访问一次被访问的计数器增加1</td>
</tr>
<tr>
<td>优点</td>
<td>系统开销小</td>
<td></td>
<td></td>
</tr>
<tr>
<td>缺点</td>
<td>没有考虑程序访问的局部性</td>
<td></td>
<td>不能反映近期访问情况，日入前期大量访问A，几乎不访问B，现在大量访问B，但A却优先不被淘汰</td>
</tr>
</tbody>
</table>
</div>
<p>LRU：</p>
<p><img src="E:\typora图片\122612-569217.png" alt="image-20210225122612706"></p>
<p>FIFO：</p>
<p><img src="E:\typora图片\image-20210225123041335.png" alt="image-20210225123041335"></p>
<p>LFU：</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/25/122450-186528.png" alt="image-20210225122449110"></p>
<h3 id="4-3-4-Cahce-写策略"><a href="#4-3-4-Cahce-写策略" class="headerlink" title="4.3.4 Cahce 写策略"></a>4.3.4 Cahce 写策略</h3><p>①写策略WB：</p>
<p>Cache命中后只修改Cache内容不立即改对应内存的内容，只有当发生换出操作的时候才写回主存。可以设置 一个脏位决定是写回主存还是丢弃</p>
<p>缺点：可能会带来 Cache与主存的数据不一致</p>
<p>② 写直达法WT</p>
<p>对Cache 与主存的数据同时修改</p>
<p>缺点：由于Cpu想主存写操作没有告诉缓冲功能，会降低Cache功效，可以引入写缓冲区缓解这个问题。<strong>也会带来cache与主存数据不一致的问题</strong></p>
<h2 id="4-4-与CPU的连接："><a href="#4-4-与CPU的连接：" class="headerlink" title="4.4 与CPU的连接："></a>4.4 与CPU的连接：</h2><p>CPU执行某条指令时候，给出该数据在存储器中的<strong>地址</strong>。地址经过<strong>地址译码器</strong>后选中存储器对应的<strong>存储单元</strong>。然后由<strong>控制线路</strong>控制读出或写入。</p>
<p>读出时，将选中的存储单元的数据送到数据寄存器中，CPU从珊瑚橘寄存器中取走该数据进行指令所对应的要求进行处理。</p>
<p>写入时，CPU将数据存放到数据寄存器中，将该数据写入到对应的存储单元里</p>
<h2 id="4-5-虚拟存储器"><a href="#4-5-虚拟存储器" class="headerlink" title="4.5 虚拟存储器"></a>4.5 虚拟存储器</h2><p>设计目标：访问快，容量大的存储系统</p>
<p>使得主存与辅存之间构成有机的整体，可供CPU直接访问的大容量主存</p>
<div class="table-container">
<table>
<thead>
<tr>
<th><img src="https://gitee.com/moluggg/image/raw/master/img/202102/26/174135-675210.png" alt="img"></th>
<th>CPU以虚地址访问主存，由存储控部件MMU找到虚地址与实地址对应的关系，并判断虚地址对应的内容是否在主存中。 在内存，则虚地址—&gt; 物理地址，直接访问；不在，则将包含该字（内容）所在页（段） 调入内存，并向MMU填写相对应标志</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><em>*</em></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>                           虚拟存储器组织结构</td>
</tr>
</tbody>
</table>
</div>
<p>地址映射：</p>
<p>若 这样，则CPU存储的不在是物理地址，而是一个虚拟地址，通过MMU将地址 分成虚拟页号与 页内偏移量两部分 ，若 虚拟页号在页表中 有效位位1 ，则表示内容在 内存中，这样直接转换成物理地址即可，有效位 为0 ，触发 操作系统缺页中断处理程序</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/26/182519-705372.png" alt="img"></p>
<h2 id="4-6-cache-主存与辅存的工作："><a href="#4-6-cache-主存与辅存的工作：" class="headerlink" title="4.6 cache/主存与辅存的工作："></a>4.6 cache/主存与辅存的工作：</h2><p>结合 cache 也是虚拟存储器存储地址的转换：</p>
<p><img src="https://gitee.com/moluggg/image/raw/master/img/202102/26/182947-327717.png" alt="img"></p>
<p>处理器生成一个虚拟存储地址，传送给MMU</p>
<p>MMU通过页表基址寄存器与虚拟页号 访问页表，并生成页表项地址PTEA给cache，cache返回 页表项 PTE给MMU。</p>
<p>若 PTE有效位位1 ，构造物理地址，根据物理地址访问 cache、主存</p>
<p>若PTE有效位位0 ， 触发缺页中断处理程序，接着替换算法确定淘汰的页 A，若A修改位位1 则 换出到磁盘对应的位置内容，否则丢弃，接着从 磁盘中调入 新的页 ，并更新PTE</p>
<p>缺页处理程序重新回到原来进程，指令重新启动 ，冲洗执行  </p>

      
       <hr><span style="font-style: italic;color: gray;"> 转载请注明来源，欢迎对文章中的引用来源进行考证，欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论，也可以邮件至 2572876783@qq.com </span>
    </div>
</article>


<p>
    <a  class="dashang" onclick="dashangToggle()">💰</a>
</p>






    
        <!-- MathJax配置，可通过单美元符号书写行内公式等 -->
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
    "HTML-CSS": {
        preferredFont: "TeX",
        availableFonts: ["STIX","TeX"],
        linebreaks: { automatic:true },
        EqnChunk: (MathJax.Hub.Browser.isMobile ? 10 : 50)
    },
    tex2jax: {
        inlineMath: [ ["$", "$"], ["\\(","\\)"] ],
        processEscapes: true,
        ignoreClass: "tex2jax_ignore|dno",
        skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
    },
    TeX: {
        equationNumbers: { autoNumber: "AMS" },
        noUndefined: { attributes: { mathcolor: "red", mathbackground: "#FFEEEE", mathsize: "90%" } },
        Macros: { href: "{}" }
    },
    messageStyle: "none"
    });
</script>
<!-- 给MathJax元素添加has-jax class -->
<script type="text/x-mathjax-config">
    MathJax.Hub.Queue(function() {
        var all = MathJax.Hub.getAllJax(), i;
        for(i=0; i < all.length; i += 1) {
            all[i].SourceElement().parentNode.className += ' has-jax';
        }
    });
</script>
<!-- 通过连接CDN加载MathJax的js代码 -->
<script type="text/javascript" async
        src="//cdn.jsdelivr.net/npm/mathjax@2.7.8/unpacked/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
<input type="hidden" id="MathJax-js"
        value="//cdn.jsdelivr.net/npm/mathjax@2.7.8/unpacked/MathJax.js?config=TeX-MML-AM_CHTML">
</input>
    




    </div>
    <div class="copyright">
        <p class="footer-entry">
    ©2016-2020 MOLU
</p>
<p class="footer-entry">Built with <a href="https://hexo.io/" target="_blank">Hexo</a> and <a href="https://github.com/yelog/hexo-theme-3-hexo" target="_blank">3-hexo</a> theme</p>

    </div>
    <div class="full-toc">
        <button class="full" data-title="切换全屏 快捷键 s"><span class="min "></span></button>
<a class="" id="rocket" ></a>

    </div>
</div>

<div class="hide_box" onclick="dashangToggle()"></div>
<div class="shang_box">
    <a class="shang_close"  onclick="dashangToggle()">×</a>
    <div class="shang_tit">
        <p>Help us with donation</p>
    </div>
    <div class="shang_payimg">
        <div class="pay_img">
            <img src="/img/alipay.jpg" class="alipay" title="扫码支持">
            <img src="/img/weixin.jpg" class="weixin" title="扫码支持">
        </div>
    </div>
    <div class="shang_payselect">
        <span><label><input type="radio" name="pay" checked value="alipay">alipay</label></span><span><label><input type="radio" name="pay" value="weixin">weixin</label></span>
    </div>
</div>


</body>
<script src="/js/jquery.pjax.js?v=1.1.0" ></script>

<script src="/js/script.js?v=1.1.0" ></script>
<script>
    var img_resize = 'default';
    function initArticle() {
        /*渲染对应的表格样式*/
        
            $("#post .pjax table").addClass("green_title");
        

        /*渲染打赏样式*/
        
        $("input[name=pay]").on("click", function () {
            if($("input[name=pay]:checked").val()=="weixin"){
                $(".shang_box .shang_payimg .pay_img").addClass("weixin_img");
            } else {
                $(".shang_box .shang_payimg .pay_img").removeClass("weixin_img");
            }
        })
        

        /*高亮代码块行号*/
        

        /*访问数量*/
        
        $.getScript("//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js");
        

        /*代码高亮，行号对齐*/
        $('.pre-numbering').css('line-height',$('.has-numbering').css('line-height'));

        
        
    }

    /*打赏页面隐藏与展示*/
    
    function dashangToggle() {
        $(".shang_box").fadeToggle();
        $(".hide_box").fadeToggle();
    }
    

</script>

<!--加入行号的高亮代码块样式-->

<!--自定义样式设置-->
<style>
    
    
    .nav {
        width: 542px;
    }
    .nav.fullscreen {
        margin-left: -542px;
    }
    .nav-left {
        width: 120px;
    }
    
    
    @media screen and (max-width: 1468px) {
        .nav {
            width: 492px;
        }
        .nav.fullscreen {
            margin-left: -492px;
        }
        .nav-left {
            width: 100px;
        }
    }
    
    
    @media screen and (max-width: 1024px) {
        .nav {
            width: 492px;
            margin-left: -492px
        }
        .nav.fullscreen {
            margin-left: 0;
        }
    }
    
    @media screen and (max-width: 426px) {
        .nav {
            width: 100%;
        }
        .nav-left {
            width: 100%;
        }
    }
    
    
    .nav-right .title-list nav a .post-title, .nav-right .title-list #local-search-result a .post-title {
        color: #383636;
    }
    
    
    .nav-right .title-list nav a .post-date, .nav-right .title-list #local-search-result a .post-date {
        color: #5e5e5f;
    }
    
    
    .nav-right nav a.hover, #local-search-result a.hover{
        background-color: #e2e0e0;
    }
    
    

    /*列表样式*/
    

    /* 背景图样式 */
    
    


    /*引用块样式*/
    

    /*文章列表背景图*/
    

    
</style>







</html>
